package com.smartum.mpr.model;

import java.util.HashSet;
import java.util.Set;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.annotate.JsonProperty;

public class User extends Identify {

	private static final long serialVersionUID = 1L;
	

    @JsonProperty("name")
    private String name;
    
    @JsonProperty("lastName")
    private String lastName;
    
    @JsonProperty("age")
    private Integer age;
    
	@JsonProperty("gender")
    private String gender;
    
    
	@JsonProperty("user_username")
	private String username;
	@JsonIgnore
	private String email;
	@JsonIgnore
	private String password;
	@JsonIgnore
	private String phoneNumber;
	@JsonIgnore
	private Token token;
	@JsonIgnore
	private Country country;
	@JsonIgnore
	private Set<News> news;
	@JsonIgnore
	private Set<Job> jobs;
	@JsonIgnore
	private Set<Item> items;
	@JsonIgnore
	private Set<UploadedImage> uploadedImages;
	@JsonIgnore
	private Set<ItemPurchase> itemPurchases;
	@JsonIgnore
	private Set<JobPurchase> jobPurchases;

	@JsonIgnore
	private Set<UsersFriendsRequest> usersFriendsRequestsForUserIdFriend = new HashSet<UsersFriendsRequest>();
	@JsonIgnore
	private Set<UsersFriends> usersFriendsesForUserId = new HashSet<UsersFriends>();
	@JsonIgnore
	private Set<UsersFriends> usersFriendsesForUserFriendId = new HashSet<UsersFriends>();
	@JsonIgnore
	private Set<UsersFriendsRequest> usersFriendsRequestsForUserId = new HashSet<UsersFriendsRequest>(); 
	
	public User() {

	}

	public Country getCountry() {
		return country;
	}

	public void setCountry(Country country) {
		this.country = country;
	}

	public Set<ItemPurchase> getItemPurchases() {
		return itemPurchases;
	}

	public void setItemPurchases(Set<ItemPurchase> itemPurchases) {
		this.itemPurchases = itemPurchases;
	}

	public Set<JobPurchase> getJobPurchases() {
		return jobPurchases;
	}

	public void setJobPurchases(Set<JobPurchase> jobPurchases) {
		this.jobPurchases = jobPurchases;
	}

	public Set<UploadedImage> getUploadedImages() {
		return uploadedImages;
	}

	public void setUploadedImages(Set<UploadedImage> uploadedImages) {
		this.uploadedImages = uploadedImages;
	}

	public Set<Item> getItems() {
		return items;
	}

	public void setItems(Set<Item> items) {
		this.items = items;
	}

	public Set<News> getNews() {
		return news;
	}

	public void setNews(Set<News> news) {
		this.news = news;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getPhoneNumber() {
		return phoneNumber;
	}

	public void setPhoneNumber(String phoneNumber) {
		this.phoneNumber = phoneNumber;
	}

	public Token getToken() {
		return token;
	}

	public void setToken(Token token) {
		this.token = token;
	}

	public Set<Job> getJobs() {
		return jobs;
	}

	public void setJobs(Set<Job> jobs) {
		this.jobs = jobs;
	}

	@JsonProperty("user_id")
	@Override
	public Long getId() {
		return super.getId();
	}

	@JsonProperty("user_id")
	@Override
	public void setId(Long id) {
		super.setId(id);
	}

	public Set<UsersFriendsRequest> getUsersFriendsRequestsForUserIdFriend() {
		return usersFriendsRequestsForUserIdFriend;
	}

	public void setUsersFriendsRequestsForUserIdFriend(
			Set<UsersFriendsRequest> usersFriendsRequestsForUserIdFriend) {
		this.usersFriendsRequestsForUserIdFriend = usersFriendsRequestsForUserIdFriend;
	}

	public Set<UsersFriends> getUsersFriendsesForUserId() {
		return usersFriendsesForUserId;
	}

	public void setUsersFriendsesForUserId(Set<UsersFriends> usersFriendsesForUserId) {
		this.usersFriendsesForUserId = usersFriendsesForUserId;
	}

	public Set<UsersFriends> getUsersFriendsesForUserFriendId() {
		return usersFriendsesForUserFriendId;
	}

	public void setUsersFriendsesForUserFriendId(
			Set<UsersFriends> usersFriendsesForUserFriendId) {
		this.usersFriendsesForUserFriendId = usersFriendsesForUserFriendId;
	}

	public Set<UsersFriendsRequest> getUsersFriendsRequestsForUserId() {
		return usersFriendsRequestsForUserId;
	}

	public void setUsersFriendsRequestsForUserId(
			Set<UsersFriendsRequest> usersFriendsRequestsForUserId) {
		this.usersFriendsRequestsForUserId = usersFriendsRequestsForUserId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getLastName() {
		return lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}

	public String getGender() {
		return gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	
	
}
